// 引入 echarts 核心模块，核心模块提供了 echarts 使用必须要的接口。
import * as echarts from 'echarts/core'

// 按需引入折线图、饼状图、柱状图，图表后缀都为 Chart
import { BarChart, PieChart, LineChart, CandlestickChart } from 'echarts/charts'

// 引入提示框，标题，直角坐标系，数据集，内置数据转换器组件，组件后缀都为 Component
import { TitleComponent, TooltipComponent, GridComponent, DatasetComponent, TransformComponent, LegendComponent } from 'echarts/components'

// 标签自动布局、全局过渡动画等特性
import { LabelLayout, UniversalTransition } from 'echarts/features'

import 'echarts/lib/component/toolbox' // 工具箱

// 引入 Canvas 渲染器，注意引入 CanvasRenderer 或者 SVGRenderer 是必须的一步
// import { CanvasRenderer } from 'echarts/renderers'
// 引入 SVG 渲染器
import { SVGRenderer } from 'echarts/renderers'

// 注册必须的组件
echarts.use([
  TitleComponent,
  TooltipComponent,
  GridComponent,
  DatasetComponent,
  TransformComponent,
  LegendComponent,
  BarChart,
  PieChart,
  LineChart,
  CandlestickChart,
  LabelLayout,
  UniversalTransition,
  // CanvasRenderer,
  SVGRenderer,
])

// echarts依赖注入
import { App } from 'vue'
export function setupEcharts(app: App<Element>) {
  app.provide('$echarts', echarts)
}
